UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

523 lines (522 loc) 20.4 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; import { aws_iam as iam } from "aws-cdk-lib"; /** * Statement provider for service [health-agent](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnecthealth.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class HealthAgent extends PolicyStatement { servicePrefix: string; /** * Grants permission to activate a subscription to enable billing for a user * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ActivateSubscription.html */ toActivateSubscription(): this; /** * Grants permission to cancel an appointment * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toCancelAppointment(): this; /** * Grants permission to create a new agent with an initial version in DRAFT state * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toCreateAgent(): this; /** * Grants permission to create a new domain for managing HealthAgent resources * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - health-agent:TagResource * - iam:PassRole * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_CreateDomain.html */ toCreateDomain(): this; /** * Grants permission to create a new integration for a domain * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toCreateIntegration(): this; /** * Grants permission to create a new session with specified agent configurations * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toCreateSession(): this; /** * Grants permission to create a new subscription within a domain for billing and user management * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_CreateSubscription.html */ toCreateSubscription(): this; /** * Grants permission to deactivate a subscription to stop billing for a user * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_DeactivateSubscription.html */ toDeactivateSubscription(): this; /** * Grants permission to delete an agent configuration and all its versions * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toDeleteAgent(): this; /** * Grants permission to delete a domain and all associated resources * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_DeleteDomain.html */ toDeleteDomain(): this; /** * Grants permission to delete an integration * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toDeleteIntegration(): this; /** * Grants permission to retrieve an agent configuration, defaulting to the most recent version if not specified * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetAgent(): this; /** * Grants permission to retrieve the care team provider of a patient * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetCareTeamProvider(): this; /** * Grants permission to retrieve information about a domain * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetDomain.html */ toGetDomain(): this; /** * Grants permission to retrieve aggregated analytics for a domain * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetDomainAnalytics.html */ toGetDomainAnalytics(): this; /** * Grants permission to get an existing integration * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetIntegration(): this; /** * Grants permission to retrieve details about an existing Medical Scribe listening session * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetMedicalScribeListeningSession.html */ toGetMedicalScribeListeningSession(): this; /** * Grants permission to retrieve patient information * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetPatient(): this; /** * Grants permission to get details of a started patient insights job * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetPatientInsightsJob.html */ toGetPatientInsightsJob(): this; /** * Grants permission to retrieve practitioner information * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetPractitioner(): this; /** * Grants permission to retrieve structured session context including attributes and collected data * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toGetSessionContext(): this; /** * Grants permission to retrieve information about a subscription * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_GetSubscription.html */ toGetSubscription(): this; /** * Grants permission to invoke an agent within a session with streaming response support * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toInvokeAgent(): this; /** * Grants permission to list all agents in a domain * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListAgents(): this; /** * Grants permission to list available appointment slots * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListAppointmentSlots(): this; /** * Grants permission to list domains for a given account * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ListDomains.html */ toListDomains(): this; /** * Grants permission to list integrations for a domain * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListIntegrations(): this; /** * Grants permission to list patient appointments * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListPatientAppointments(): this; /** * Grants permission to list patient insurance coverages * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListPatientInsuranceCoverages(): this; /** * Grants permission to retrieve active providers available for scheduling appointments with a patient * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toListProviders(): this; /** * Grants permission to list session records for a domain * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ListSessionRecords.html */ toListSessionRecords(): this; /** * Grants permission to list all subscriptions within a domain * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ListSubscriptions.html */ toListSubscriptions(): this; /** * Grants permission to list the tags for the specified resource * * Access Level: List * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to match a patient * * Access Level: Read * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toMatchPatient(): this; /** * Grants permission to publish an agent configuration version * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toPublishAgent(): this; /** * Grants permission to reschedule an appointment * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toRescheduleAppointment(): this; /** * Grants permission to schedule an appointment for a patient * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toScheduleAppointment(): this; /** * Grants permission to start a new Medical Scribe listening session for real-time audio transcription * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_StartMedicalScribeListeningSession.html */ toStartMedicalScribeListeningSession(): this; /** * Grants permission to start a new patient insights job * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_StartPatientInsightsJob.html */ toStartPatientInsightsJob(): this; /** * Grants permission to add the specified tags to the specified resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_TagResource.html */ toTagResource(): this; /** * Grants permission to remove the tags identified by the TagKeys list from a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/connecthealth/latest/APIReference/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to update a draft agent configuration, creating a new draft version if none exists * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toUpdateAgent(): this; /** * Grants permission to update an existing integration * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toUpdateIntegration(): this; /** * Grants permission to update session attributes such as departmentId and appointmentType * * Access Level: Write * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html */ toUpdateSession(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type Domain to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/setting-up.html#setting-up-create-domain * * @param domainId - Identifier for the domainId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onDomain(domainId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type PatientInsightsJob to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-insights.html * * @param domainId - Identifier for the domainId. * @param jobId - Identifier for the jobId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onPatientInsightsJob(domainId: string, jobId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type Subscription to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/ambient-documentation.html#al-subscription-management * * @param domainId - Identifier for the domainId. * @param subscriptionId - Identifier for the subscriptionId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onSubscription(domainId: string, subscriptionId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type Integration to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/configuring-testing-pe-agents.html * * @param domainId - Identifier for the domainId. * @param integrationId - Identifier for the integrationId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onIntegration(domainId: string, integrationId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type Agent to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/agent-customization.html * * @param domainId - Identifier for the domainId. * @param agentId - Identifier for the agentId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onAgent(domainId: string, agentId: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type Session to the statement * * https://docs.aws.amazon.com/connecthealth/latest/userguide/patient-engagement-overview.html * * @param domainId - Identifier for the domainId. * @param sessionId - Identifier for the sessionId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onSession(domainId: string, sessionId: string, account?: string, region?: string, partition?: string): this; /** * Filters access by the tags that are passed in the request * * https://docs.aws.amazon.com/connecthealth/latest/userguide/security-iam-service-with-iam.htmlsecurity-iam-service-with-iam.html#security-iam-service-with-iam-tags * * Applies to actions: * - .toCreateDomain() * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by the tags associated with the resource * * https://docs.aws.amazon.com/connecthealth/latest/userguide/security-iam-service-with-iam.htmlsecurity-iam-service-with-iam.html#security-iam-service-with-iam-tags * * Applies to actions: * - .toTagResource() * * Applies to resource types: * - Domain * - PatientInsightsJob * - Subscription * - Integration * - Agent * - Session * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by the tag keys that are passed in the request * * https://docs.aws.amazon.com/connecthealth/latest/userguide/security-iam-service-with-iam.htmlsecurity-iam-service-with-iam.html#security-iam-service-with-iam-tags * * Applies to actions: * - .toCreateDomain() * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value: string | string[], operator?: Operator | string): this; /** * Statement provider for service [health-agent](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnecthealth.html). * */ constructor(props?: iam.PolicyStatementProps); }