| :py:mod:`airflow.providers.amazon.aws.hooks.eks` |
| ================================================ |
| |
| .. py:module:: airflow.providers.amazon.aws.hooks.eks |
| |
| .. autoapi-nested-parse:: |
| |
| Interact with Amazon EKS, using the boto3 library. |
| |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.amazon.aws.hooks.eks.ClusterStates |
| airflow.providers.amazon.aws.hooks.eks.FargateProfileStates |
| airflow.providers.amazon.aws.hooks.eks.NodegroupStates |
| airflow.providers.amazon.aws.hooks.eks.EksHook |
| airflow.providers.amazon.aws.hooks.eks.EKSHook |
| |
| |
| |
| |
| Attributes |
| ~~~~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.amazon.aws.hooks.eks.DEFAULT_PAGINATION_TOKEN |
| airflow.providers.amazon.aws.hooks.eks.STS_TOKEN_EXPIRES_IN |
| airflow.providers.amazon.aws.hooks.eks.AUTHENTICATION_API_VERSION |
| |
| |
| .. py:data:: DEFAULT_PAGINATION_TOKEN |
| :annotation: = |
| |
| |
| |
| .. py:data:: STS_TOKEN_EXPIRES_IN |
| :annotation: = 60 |
| |
| |
| |
| .. py:data:: AUTHENTICATION_API_VERSION |
| :annotation: = client.authentication.k8s.io/v1alpha1 |
| |
| |
| |
| .. py:class:: ClusterStates |
| |
| Bases: :py:obj:`enum.Enum` |
| |
| Contains the possible State values of an EKS Cluster. |
| |
| .. py:attribute:: CREATING |
| :annotation: = CREATING |
| |
| |
| |
| .. py:attribute:: ACTIVE |
| :annotation: = ACTIVE |
| |
| |
| |
| .. py:attribute:: DELETING |
| :annotation: = DELETING |
| |
| |
| |
| .. py:attribute:: FAILED |
| :annotation: = FAILED |
| |
| |
| |
| .. py:attribute:: UPDATING |
| :annotation: = UPDATING |
| |
| |
| |
| .. py:attribute:: NONEXISTENT |
| :annotation: = NONEXISTENT |
| |
| |
| |
| |
| .. py:class:: FargateProfileStates |
| |
| Bases: :py:obj:`enum.Enum` |
| |
| Contains the possible State values of an AWS Fargate profile. |
| |
| .. py:attribute:: CREATING |
| :annotation: = CREATING |
| |
| |
| |
| .. py:attribute:: ACTIVE |
| :annotation: = ACTIVE |
| |
| |
| |
| .. py:attribute:: DELETING |
| :annotation: = DELETING |
| |
| |
| |
| .. py:attribute:: CREATE_FAILED |
| :annotation: = CREATE_FAILED |
| |
| |
| |
| .. py:attribute:: DELETE_FAILED |
| :annotation: = DELETE_FAILED |
| |
| |
| |
| .. py:attribute:: NONEXISTENT |
| :annotation: = NONEXISTENT |
| |
| |
| |
| |
| .. py:class:: NodegroupStates |
| |
| Bases: :py:obj:`enum.Enum` |
| |
| Contains the possible State values of an EKS Managed Nodegroup. |
| |
| .. py:attribute:: CREATING |
| :annotation: = CREATING |
| |
| |
| |
| .. py:attribute:: ACTIVE |
| :annotation: = ACTIVE |
| |
| |
| |
| .. py:attribute:: UPDATING |
| :annotation: = UPDATING |
| |
| |
| |
| .. py:attribute:: DELETING |
| :annotation: = DELETING |
| |
| |
| |
| .. py:attribute:: CREATE_FAILED |
| :annotation: = CREATE_FAILED |
| |
| |
| |
| .. py:attribute:: DELETE_FAILED |
| :annotation: = DELETE_FAILED |
| |
| |
| |
| .. py:attribute:: DEGRADED |
| :annotation: = DEGRADED |
| |
| |
| |
| .. py:attribute:: NONEXISTENT |
| :annotation: = NONEXISTENT |
| |
| |
| |
| |
| .. py:class:: EksHook(*args, **kwargs) |
| |
| Bases: :py:obj:`airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook` |
| |
| Interact with Amazon EKS, using the boto3 library. |
| |
| Additional arguments (such as ``aws_conn_id``) may be specified and |
| are passed down to the underlying AwsBaseHook. |
| |
| .. seealso:: |
| :class:`~airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook` |
| |
| .. py:attribute:: client_type |
| :annotation: = eks |
| |
| |
| |
| .. py:method:: create_cluster(self, name, roleArn, resourcesVpcConfig, **kwargs) |
| |
| Creates an Amazon EKS control plane. |
| |
| :param name: The unique name to give to your Amazon EKS Cluster. |
| :param roleArn: The Amazon Resource Name (ARN) of the IAM role that provides permissions |
| for the Kubernetes control plane to make calls to AWS API operations on your behalf. |
| :param resourcesVpcConfig: The VPC configuration used by the cluster control plane. |
| |
| :return: Returns descriptive information about the created EKS Cluster. |
| :rtype: Dict |
| |
| |
| .. py:method:: create_nodegroup(self, clusterName, nodegroupName, subnets, nodeRole, *, tags = None, **kwargs) |
| |
| Creates an Amazon EKS managed node group for an Amazon EKS Cluster. |
| |
| :param clusterName: The name of the Amazon EKS cluster to create the EKS Managed Nodegroup in. |
| :param nodegroupName: The unique name to give your managed nodegroup. |
| :param subnets: The subnets to use for the Auto Scaling group that is created for your nodegroup. |
| :param nodeRole: The Amazon Resource Name (ARN) of the IAM role to associate with your nodegroup. |
| :param tags: Optional tags to apply to your nodegroup. |
| |
| :return: Returns descriptive information about the created EKS Managed Nodegroup. |
| :rtype: Dict |
| |
| |
| .. py:method:: create_fargate_profile(self, clusterName, fargateProfileName, podExecutionRoleArn, selectors, **kwargs) |
| |
| Creates an AWS Fargate profile for an Amazon EKS cluster. |
| |
| :param clusterName: The name of the Amazon EKS cluster to apply the Fargate profile to. |
| :param fargateProfileName: The name of the Fargate profile. |
| :param podExecutionRoleArn: The Amazon Resource Name (ARN) of the pod execution role to |
| use for pods that match the selectors in the Fargate profile. |
| :param selectors: The selectors to match for pods to use this Fargate profile. |
| |
| :return: Returns descriptive information about the created Fargate profile. |
| :rtype: Dict |
| |
| |
| .. py:method:: delete_cluster(self, name) |
| |
| Deletes the Amazon EKS Cluster control plane. |
| |
| :param name: The name of the cluster to delete. |
| |
| :return: Returns descriptive information about the deleted EKS Cluster. |
| :rtype: Dict |
| |
| |
| .. py:method:: delete_nodegroup(self, clusterName, nodegroupName) |
| |
| Deletes an Amazon EKS managed node group from a specified cluster. |
| |
| :param clusterName: The name of the Amazon EKS Cluster that is associated with your nodegroup. |
| :param nodegroupName: The name of the nodegroup to delete. |
| |
| :return: Returns descriptive information about the deleted EKS Managed Nodegroup. |
| :rtype: Dict |
| |
| |
| .. py:method:: delete_fargate_profile(self, clusterName, fargateProfileName) |
| |
| Deletes an AWS Fargate profile from a specified Amazon EKS cluster. |
| |
| :param clusterName: The name of the Amazon EKS cluster associated with the Fargate profile to delete. |
| :param fargateProfileName: The name of the Fargate profile to delete. |
| |
| :return: Returns descriptive information about the deleted Fargate profile. |
| :rtype: Dict |
| |
| |
| .. py:method:: describe_cluster(self, name, verbose = False) |
| |
| Returns descriptive information about an Amazon EKS Cluster. |
| |
| :param name: The name of the cluster to describe. |
| :param verbose: Provides additional logging if set to True. Defaults to False. |
| |
| :return: Returns descriptive information about a specific EKS Cluster. |
| :rtype: Dict |
| |
| |
| .. py:method:: describe_nodegroup(self, clusterName, nodegroupName, verbose = False) |
| |
| Returns descriptive information about an Amazon EKS managed node group. |
| |
| :param clusterName: The name of the Amazon EKS Cluster associated with the nodegroup. |
| :param nodegroupName: The name of the nodegroup to describe. |
| :param verbose: Provides additional logging if set to True. Defaults to False. |
| |
| :return: Returns descriptive information about a specific EKS Nodegroup. |
| :rtype: Dict |
| |
| |
| .. py:method:: describe_fargate_profile(self, clusterName, fargateProfileName, verbose = False) |
| |
| Returns descriptive information about an AWS Fargate profile. |
| |
| :param clusterName: The name of the Amazon EKS Cluster associated with the Fargate profile. |
| :param fargateProfileName: The name of the Fargate profile to describe. |
| :param verbose: Provides additional logging if set to True. Defaults to False. |
| |
| :return: Returns descriptive information about an AWS Fargate profile. |
| :rtype: Dict |
| |
| |
| .. py:method:: get_cluster_state(self, clusterName) |
| |
| Returns the current status of a given Amazon EKS Cluster. |
| |
| :param clusterName: The name of the cluster to check. |
| |
| :return: Returns the current status of a given Amazon EKS Cluster. |
| :rtype: ClusterStates |
| |
| |
| .. py:method:: get_fargate_profile_state(self, clusterName, fargateProfileName) |
| |
| Returns the current status of a given AWS Fargate profile. |
| |
| :param clusterName: The name of the Amazon EKS Cluster associated with the Fargate profile. |
| :param fargateProfileName: The name of the Fargate profile to check. |
| |
| :return: Returns the current status of a given AWS Fargate profile. |
| :rtype: AWS FargateProfileStates |
| |
| |
| .. py:method:: get_nodegroup_state(self, clusterName, nodegroupName) |
| |
| Returns the current status of a given Amazon EKS managed node group. |
| |
| :param clusterName: The name of the Amazon EKS Cluster associated with the nodegroup. |
| :param nodegroupName: The name of the nodegroup to check. |
| |
| :return: Returns the current status of a given Amazon EKS Nodegroup. |
| :rtype: NodegroupStates |
| |
| |
| .. py:method:: list_clusters(self, verbose = False) |
| |
| Lists all Amazon EKS Clusters in your AWS account. |
| |
| :param verbose: Provides additional logging if set to True. Defaults to False. |
| |
| :return: A List containing the cluster names. |
| :rtype: List |
| |
| |
| .. py:method:: list_nodegroups(self, clusterName, verbose = False) |
| |
| Lists all Amazon EKS managed node groups associated with the specified cluster. |
| |
| :param clusterName: The name of the Amazon EKS Cluster containing nodegroups to list. |
| :param verbose: Provides additional logging if set to True. Defaults to False. |
| |
| :return: A List of nodegroup names within the given cluster. |
| :rtype: List |
| |
| |
| .. py:method:: list_fargate_profiles(self, clusterName, verbose = False) |
| |
| Lists all AWS Fargate profiles associated with the specified cluster. |
| |
| :param clusterName: The name of the Amazon EKS Cluster containing Fargate profiles to list. |
| :param verbose: Provides additional logging if set to True. Defaults to False. |
| |
| :return: A list of Fargate profile names within a given cluster. |
| :rtype: List |
| |
| |
| .. py:method:: generate_config_file(self, eks_cluster_name, pod_namespace, pod_username = None, pod_context = None) |
| |
| Writes the kubeconfig file given an EKS Cluster. |
| |
| :param eks_cluster_name: The name of the cluster to generate kubeconfig file for. |
| :param pod_namespace: The namespace to run within kubernetes. |
| |
| |
| .. py:method:: fetch_access_token_for_cluster(self, eks_cluster_name) |
| |
| |
| |
| .. py:class:: EKSHook(*args, **kwargs) |
| |
| Bases: :py:obj:`EksHook` |
| |
| This hook is deprecated. |
| Please use :class:`airflow.providers.amazon.aws.hooks.eks.EksHook`. |
| |
| |