diff options
author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
---|---|---|
committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/boto3/ec2 | |
parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
download | gn-ai-master.tar.gz |
Diffstat (limited to '.venv/lib/python3.12/site-packages/boto3/ec2')
3 files changed, 89 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/boto3/ec2/__init__.py b/.venv/lib/python3.12/site-packages/boto3/ec2/__init__.py new file mode 100644 index 00000000..6001b27b --- /dev/null +++ b/.venv/lib/python3.12/site-packages/boto3/ec2/__init__.py @@ -0,0 +1,12 @@ +# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# https://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. diff --git a/.venv/lib/python3.12/site-packages/boto3/ec2/createtags.py b/.venv/lib/python3.12/site-packages/boto3/ec2/createtags.py new file mode 100644 index 00000000..ec0ff1a6 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/boto3/ec2/createtags.py @@ -0,0 +1,40 @@ +# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# https://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. + + +def inject_create_tags(event_name, class_attributes, **kwargs): + """This injects a custom create_tags method onto the ec2 service resource + + This is needed because the resource model is not able to express + creating multiple tag resources based on the fact you can apply a set + of tags to multiple ec2 resources. + """ + class_attributes['create_tags'] = create_tags + + +def create_tags(self, **kwargs): + # Call the client method + self.meta.client.create_tags(**kwargs) + resources = kwargs.get('Resources', []) + tags = kwargs.get('Tags', []) + tag_resources = [] + + # Generate all of the tag resources that just were created with the + # preceding client call. + for resource in resources: + for tag in tags: + # Add each tag from the tag set for each resource to the list + # that is returned by the method. + tag_resource = self.Tag(resource, tag['Key'], tag['Value']) + tag_resources.append(tag_resource) + return tag_resources diff --git a/.venv/lib/python3.12/site-packages/boto3/ec2/deletetags.py b/.venv/lib/python3.12/site-packages/boto3/ec2/deletetags.py new file mode 100644 index 00000000..19876d04 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/boto3/ec2/deletetags.py @@ -0,0 +1,37 @@ +# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# https://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from boto3.resources.action import CustomModeledAction + + +def inject_delete_tags(event_emitter, **kwargs): + action_model = { + 'request': { + 'operation': 'DeleteTags', + 'params': [ + { + 'target': 'Resources[0]', + 'source': 'identifier', + 'name': 'Id', + } + ], + } + } + action = CustomModeledAction( + 'delete_tags', action_model, delete_tags, event_emitter + ) + action.inject(**kwargs) + + +def delete_tags(self, **kwargs): + kwargs['Resources'] = [self.id] + return self.meta.client.delete_tags(**kwargs) |